1. Field of the Invention
This invention relates to a method for processing image data in computer graphics. More particularly, this invention relates to a technique for rapid windowing of graphic display data.
2. Description of Related Art
In the application of graphic software programs to design tasks, there has been an increasing demand for rapid processing of larger and larger amounts of data. An important area of vital interest to program designers has been in methods by which the data to be presented to the viewer can be rapidly windowed to accommodate viewer initiated changes in the display request.
Typically, graphic display systems are known to keep subimages in a hierarchical data structure. When the hierarchical data structure is in the form of a data tree, the primitive images, such as, vectors, instances of characters or strings or arrays of characters and noncoded images, are placed at the leaves of the tree structure and attributes such as position and color maybe placed throughout the data tree structure.
Presently, graphic systems are designed to operate by placing a data window over a sheet which represents a large complete data image. The portion of the total image within the window is then presented to a viewport on a screen. However, when the window is moved dynamically, to produce an image change, the entire data structure must be traversed for a new image to be compiled. Thus, image changes require an enormous amount of data to be searched with resultant processing problems of slow reaction time, of tying up of large amounts of data storage and other handling inefficiencies etc.
One method for assembling the image change data has been to process the entire data structure to determine which primitives must be clipped and displayed. However, as the viewer requested information is usually only a small portion of the image data, this method is very time consuming, inefficient and wasteful of large memory.
In another method for assembling viewer requested information, the complete data image has been first transformed line by line to a display format. Every line is then converted to screen coordinates to determine which lines are visible to the user and which can be clipped. Once again, the method is extremely inefficient as unnecessary transformations are made to data not intended to be viewed with requisite sorting of non-visible lines by coordinates.
A related technique which has been incorporated into the above process, known as instance transformations, is a visibility test called boxing as described in Principles of Interactive Computer Graphics by Newman and Sproull, McGraw-Hill Book Company, 1979. In this method, an extent of visibility is maintained for sets of data subimages. The extent of visibility is determined by a bounding box created for the graphic primitives in the sets of subimages. The bounding box is, then, able to define the data to be displayed by comparing said box to the window characteristics and clipping out unnecessary data. This method, however, requires an extremely accurate specification of the bounding box by the programmer, an extremely difficult task when rotation or similar image transformations are possibly part of the requested information. At best the method led to a gross approximation of a bounding box and large amounts of unnecessary data were still required to be transformed and stored.
It is therefore an object of the present invention to develop a method for rapid windowing of display information in computer graphics in a processing efficient manner.
It is still a further object of the present invention for the windowing of the display information to be able to be accomplished with fast response times.
It is another object of the invention for the method for rapid windowing to be compatible and integrable with the other known graphic data rendering techniques.